<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
    body {
      display: flex;
      justify-content: center;
      align-items: center;
      flex-direction: column;
    }
    h2 {
      margin-top: 20px;
      font-size: 36px;
      color: #444;
      opacity: 0;
    }
    input[type="checkbox"]:checked ~ h2 {
      animation: title .6s ease forwards;
      animation-delay: 1.2s;
    }
    input {
      margin-bottom: 20px;
    }

    .circle {
      /* 周长 */
      /* 1194 -> 2388 */
      stroke-dasharray: 1194; 
      stroke-dashoffset: 1194;
    }

    input[type="checkbox"]:checked + svg .circle {
      animation: circle 1s ease-in-out forwards;
    }

    /* 350 -> 0 */
    .tick {
      stroke-dasharray: 350;
      stroke-dashoffset: 350;
    }
    
    input[type="checkbox"]:checked + svg .tick {
      animation: tick .8s ease-out;
      animation-fill-mode: forwards;
      animation-delay: .95s;
    }

    @keyframes circle {
      from {
        stroke-dashoffset: 1194;
      }
      to {
        stroke-dashoffset: 2388;
      }
    }

    @keyframes tick {
      from {
        stroke-dashoffset: 350;
      }
      to {
        stroke-dashoffset: 0;
      }
    }

    @keyframes title {
      from {
        opacity: 0;
      }
      to {
        opacity: 1;
      }
    }
  </style>
</head>
<body>
  <!-- 使用 SVG 绘画打勾符号，运用两个关键的 CSS 属性 stroke-dasharray & stroke-dashoffset，并通过 CSS Animation 调整 stroke-dashoffset 完成动画。 -->
  <div>点击</div>
  <input type="checkbox" name="" id="">
  <svg width="400" height="400">
    <circle class="circle" 
      fill="none" stroke="#68E534" stroke-width="20" cx="200" cy="200" r="190" stroke-linecap="round"
      transform="rotate(-90 200 200)"
    ></circle>
    <polyline class="tick" fill="none" stroke="#68E534" stroke-width="24" points="88,214 173,284 304,138" stroke-linecap="round" stroke-linejoin='round'></polyline>
  </svg>
  <h2>Payment Success</h2>
</body>
</html>